XLAT кодирование AL по таблице

Флаги не меняются.

Команда:

XLAT translate-table 

Логика:

AL = (BX + AL) 

Команда XLAT переводит байт, согласно таблице преобразований. Указатель 256-байтовой таблицы преобразований находится в BX. Байт, который нужно перевести, расположен в AL. После выполнения команды XLAT байт в AL заменяется на байт, смещенный на AL байтов от начала таблицы преобразований.

Операнды Такт байты (слова)ОбращенияБайтыПример
translate-table1111XLAT SINE_TABLE

Примечания :
Таблица преобразований может содержать менее 256 байтов. Операнд, т.е. translate-table, является необязательным, поскольку указатель таблицы должен быть загружен в BX еще до начала выполнения команды.
Следующий пример иллюстрирует перевод десятичного числа (от 0 до 15) в соответствующую "цифру" шестнадцатеричной системы счисления:

         LEA    BX,HEX_TABLE       		;указатель таблицы засылаем в BX,
         MOV    AL,DECIMAL_DIGIT   		;а переводимую цифру - в AL
         XLAT   HEX_TABLE          		;переводим
                                  		;теперь в AL находится ASCII-код
            .                      		;соответствующей цифры
                                  		;шестнадцатеричной системы
         HEX_TABLE     DB      '0123456789ABCDEF'
Hosted by uCoz